package com.redis.Util;

import java.util.Calendar;
import java.util.Date;

public class DateUtils {
    /**
     * 获取当前时间到指定时刻前的毫秒数
     * @param hour	指定时刻的小时
     * @param min	指定时刻的分钟
     * @param sec	指定时刻的秒
     * @param mill	指定时刻的毫秒
     * @return
     */
    public static long getMillsecBeforeMoment(int hour,int min,int sec,int mill){
        return getMillisecBetweenDate(new Date(),getMoment(hour,min,sec,mill));
    }


    /**
     * 获取两个日期之间的毫秒数
     * @param before
     * @param after
     * @return
     */
    public static long getMillisecBetweenDate(Date before, Date after){
        long beforeTime = before.getTime();
        long afterTime = after.getTime();
        return afterTime - beforeTime;
    }

    /**
     * 获取当天的某一时刻Date
     * @param hour		24小时
     * @param min		分钟
     * @param sec		秒
     * @param mill		毫秒
     * @return
     */
    public static Date getMoment(int hour,int min,int sec,int mill){
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.set(Calendar.HOUR_OF_DAY,hour);
        calendar.set(Calendar.MINUTE,min);
        calendar.set(Calendar.SECOND,sec);
        calendar.set(Calendar.MILLISECOND,mill);
        return calendar.getTime();
    }


}
